﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using SGTD.Entidades;

namespace SGTD.DAO
{
    public class clsDocumentoDAO
    {
        public Boolean RegistrarDocumento(clsDocumento d)
        {
            SqlConnection conexion = clsConexion.ObtenerConexion();
            SqlCommand cmd = new SqlCommand("registrar_documento_pa", conexion);
            cmd.CommandType = System.Data.CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@IdDocumento", d.IdDocumento);
            cmd.Parameters.AddWithValue("@NroDocumento", d.NroDocumento);
            cmd.Parameters.AddWithValue("@Nombre", d.Nombre);
            cmd.Parameters.AddWithValue("@IdTipoDocumento", d.TipoDocumento.IdTipoDocumento);
            cmd.Parameters.AddWithValue("@IdTipoFichaTramite", d.TipoFichaTramite.IdTipoFichaTramite);
            cmd.Parameters.AddWithValue("@Estado", d.Estado);

            cmd.ExecuteNonQuery();

            conexion.Close();
            return true;
        }

        public List<clsDocumento> listarDocumento()
        {
            SqlConnection conexion = clsConexion.ObtenerConexion();
            SqlCommand cmd = new SqlCommand("listar_documento_pa", conexion);
            cmd.CommandType = System.Data.CommandType.StoredProcedure;

            SqlDataReader dr = cmd.ExecuteReader();

            List<clsDocumento> lista = new List<clsDocumento>();
            clsDocumento u = null;

            while (dr.Read())
            {
                u = new clsDocumento();
                u.IdDocumento = Convert.ToInt32(dr["IdDocumento"]);
                u.NroDocumento = Convert.ToInt32(dr["NroDocumento"]);
                u.Nombre = Convert.ToString(dr["Nombre"]);
                u.TipoDocumento.IdTipoDocumento = Convert.ToInt32(dr["IdTipoDocumento"]);
                u.TipoFichaTramite.IdTipoFichaTramite = Convert.ToInt32(dr["IdTipoFichaTramite"]);
                u.Estado = Convert.ToBoolean(dr["Estado"]);
                lista.Add(u);
            }
            conexion.Close();
            return lista;
        }
    }
}